// 1399. 统计最大组的数目
// 给你一个整数 n 。请你先求出从 1 到 n 的每个整数 10 进制表示下的数位和（每一位上的数字相加），然后把数位和相等的数字放到同一个组中。

// 请你统计每个组中的数字数目，并返回数字数目并列最多的组有多少个。

/**
 * @param {number} n
 * @return {number}
 */
var countLargestGroup = function (n) {
  let ret = new Array(46).fill(0)
  let max = Number.MIN_SAFE_INTEGER
  for (let i = 1; i <= n; i++) {
    let j = i
    let sum = 0
    while (j > 0) {
      sum += j % 10
      j = Math.floor(j / 10)
    }
    ret[sum]++
    max = Math.max(ret[sum],max)
  }
  let count = 0
  for (let i = 0; i < 46; i++) {
    if(ret[i] === max){
      count++
    }
  }
  return count
};

var n = 24
console.log(countLargestGroup(n))